package com.shanzmoo.db.sys.service;

import com.shanzmoo.base.bean.SResponse;
import com.shanzmoo.db.sys.entity.MenuEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.shanzmoo.db.sys.entity.dto.MenuSaveDto;
import com.shanzmoo.db.sys.entity.vo.MenuAuthVo;
import com.shanzmoo.db.sys.entity.vo.MenuTreeVo;
import com.shanzmoo.db.sys.entity.dto.MenuUpdateDto;
import com.shanzmoo.db.sys.entity.vo.MenuVo;

import java.util.List;

/**
 * <p>
 * 系统菜单表 服务类
 * </p>
 *
 * @author Gzhao
 * @since 2020-11-10
 */
public interface IMenuService extends IService<MenuEntity> {

    SResponse<Boolean> add(MenuSaveDto saveDto, Integer currentUserId);

    SResponse<Boolean> deleteById(Integer menuId, Integer currentUserId);

    SResponse<Boolean> editMenu(MenuUpdateDto updateDto, Integer currentUserId);

    SResponse<List<MenuAuthVo>> getAuthTree(Integer currentUserId);

    SResponse<List<MenuTreeVo>> getBriefTree();

    SResponse<List<MenuVo>> getAllTree();

    List<MenuEntity> getListByUserId(Integer userId);
}
